﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using EntidadesDeNegocio;

namespace ObliDisenoAplicaciones.DatosPrueba
{
    public static class Prueba
    {
        public static void CargarDatosPrueba() 
        {
            CargarComponentes();
            CargarDisenos();
        }

        private static void CargarComponentes()
        {
            
            //TERRESTRES

            Stock.Instancia.AgregarComponente("TOR-6", "PIE-TOR006", MedioComponente.Terrestre, decimal.Parse("11,56"), "Tornillo cabeza cuadrada 6 '' ", DateTime.Now.AddDays(-3), 5, DateTime.Now.AddDays(32), false, decimal.Parse("44,56"), decimal.Parse("2,56"));
            Stock.Instancia.AgregarComponente("TOR-10", "PIE-TOR0010", MedioComponente.Terrestre, decimal.Parse("11,56"), "Tornillo cabeza cuadrada 10 '' ", DateTime.Now.AddDays(-2), 10, DateTime.Now.AddDays(32), false, decimal.Parse("41,56"), decimal.Parse("2,56"));
            Stock.Instancia.AgregarComponente("TOR-20", "PIE-TOR0020", MedioComponente.Terrestre, decimal.Parse("11,00"), "Tornillo cabeza cuadrada 20 '' ", DateTime.Now.AddDays(-33), 6, DateTime.Now.AddDays(31), false, decimal.Parse("14,53"), decimal.Parse("2,56"));
            Stock.Instancia.AgregarComponente("VIS-13", "PIE-VIS0013", MedioComponente.Terrestre, decimal.Parse("12,44"), "Visagra doble chica ", DateTime.Now.AddDays(-83), 6, DateTime.Now.AddDays(41), false, decimal.Parse("13,56"), decimal.Parse("2,56"));
            Stock.Instancia.AgregarComponente("VIS-15", "PIE-VIS0015", MedioComponente.Terrestre, decimal.Parse("101,26"), "Visagra triple chica ", DateTime.Now.AddDays(-8), 6, DateTime.Now.AddDays(34), false, decimal.Parse("24,26"), decimal.Parse("2,56"));
            Stock.Instancia.AgregarComponente("RUE-13", "PIE-RUE0013", MedioComponente.Terrestre, decimal.Parse("110,00"), "Rueda rodado 13", DateTime.Now.AddDays(-7), 6, DateTime.Now.AddDays(22), false, decimal.Parse("44,22"), decimal.Parse("2,56"));
            Stock.Instancia.AgregarComponente("RUE-15", "PIE-RUE0015", MedioComponente.Terrestre, decimal.Parse("54,00"), "Rueda rodado 15", DateTime.Now.AddDays(-8), 6, DateTime.Now.AddDays(3), false, decimal.Parse("12,21"), decimal.Parse("2,56"));
            Stock.Instancia.AgregarComponente("RUE-17", "PIE-RUE0017", MedioComponente.Terrestre, decimal.Parse("29,99"), "Rueda rodado 17", DateTime.Now.AddDays(-5), 6, DateTime.Now.AddDays(12), false, decimal.Parse("21,51"), decimal.Parse("2,56"));

            //ACUATICAS
            Stock.Instancia.AgregarComponente("VEL-19", "PIE-VEL0019", MedioComponente.Acuatico, decimal.Parse("222,99"), "Vela Central", DateTime.Now.AddDays(-69), 5, DateTime.Now.AddDays(48), false, decimal.Parse("23443,56"), decimal.Parse("23,56"));
            Stock.Instancia.AgregarComponente("VEL-8", "PIE-VEL0008", MedioComponente.Acuatico, decimal.Parse("355,00"), "Vela Frontal", DateTime.Now.AddDays(-69), 5, DateTime.Now.AddDays(41), false, decimal.Parse("23663,56"), decimal.Parse("23,56"));
            Stock.Instancia.AgregarComponente("FLO-11", "PIE-FLO0011", MedioComponente.Acuatico, decimal.Parse("324,99"), "Flotador Lateral", DateTime.Now.AddDays(-69), 5, DateTime.Now.AddDays(44), false, decimal.Parse("24543,56"), decimal.Parse("23,56"));
            Stock.Instancia.AgregarComponente("FLO-12", "PIE-FLO0012", MedioComponente.Acuatico, decimal.Parse("84,00"), "Flotador Principal", DateTime.Now.AddDays(-69), 5, DateTime.Now.AddDays(47), false, decimal.Parse("23416,56"), decimal.Parse("23,56"));
            Stock.Instancia.AgregarComponente("ANC-61", "PIE-ANC0061", MedioComponente.Acuatico, decimal.Parse("67,00"), "Ancla 25kg", DateTime.Now.AddDays(-69), 5, DateTime.Now.AddDays(49), false, decimal.Parse("23408,56"), decimal.Parse("23,56"));
            Stock.Instancia.AgregarComponente("ANC-77", "PIE-ANC0077", MedioComponente.Acuatico, decimal.Parse("769,50"), "Ancla 80kg", DateTime.Now.AddDays(-69), 5, DateTime.Now.AddDays(50), false, decimal.Parse("23490,56"), decimal.Parse("23,56"));            

            //ROBOTS

            //ROBOTS
            Stock.Instancia.AgregarComponente("HON-01", "ROB-HON0001", MedioComponente.Acuatico, decimal.Parse("422,00"), "Buscador Marino", DateTime.Now.AddDays(-69), 5, DateTime.Now.AddDays(16), true, decimal.Parse("23443,56"), decimal.Parse("23,56"));
            //AGREGO COMPONENTES AL ROBOT
            Stock.Instancia.ObtenerComponente("HON-01").AgregarComponente(Stock.Instancia.ObtenerComponente("VEL-8"));
            Stock.Instancia.ObtenerComponente("HON-01").AgregarComponente(Stock.Instancia.ObtenerComponente("ANC-61"));

            Stock.Instancia.AgregarComponente("HON-02", "ROB-HON0002", MedioComponente.Acuatico, decimal.Parse("861,00"), "Escabador SubAcuatico", DateTime.Now.AddDays(-69), 5, DateTime.Now.AddDays(8), true, decimal.Parse("23443,56"), decimal.Parse("23,56"));
            //AGREGO COMPONENTES AL ROBOT
            Stock.Instancia.ObtenerComponente("HON-02").AgregarComponente(Stock.Instancia.ObtenerComponente("VEL-8"));
            Stock.Instancia.ObtenerComponente("HON-02").AgregarComponente(Stock.Instancia.ObtenerComponente("FLO-12"));
            Stock.Instancia.ObtenerComponente("HON-02").AgregarComponente(Stock.Instancia.ObtenerComponente("HON-01")); 
            
        }
        

        private static void CargarDisenos()
        {
            Diseno d = new Diseno("R&N-001", MedioComponente.Terrestre, decimal.Parse("12,00"));
            d.AgregarComponente(Stock.Instancia.ObtenerComponente("TOR-6"));
            d.AgregarComponente(Stock.Instancia.ObtenerComponente("VIS-15"));
            d.AgregarComponente(Stock.Instancia.ObtenerComponente("RUE-17"));
            Sistema.Instancia.AgregarDiseno(d);

            Diseno d2 = new Diseno("R&N-003", MedioComponente.Terrestre, decimal.Parse("4,00"));
            d2.AgregarComponente(Stock.Instancia.ObtenerComponente("TOR-6"));
            d2.AgregarComponente(Stock.Instancia.ObtenerComponente("VIS-15"));
            d2.AgregarComponente(Stock.Instancia.ObtenerComponente("RUE-17"));
            d2.AgregarComponente(Stock.Instancia.ObtenerComponente("TOR-6"));
            d2.AgregarComponente(Stock.Instancia.ObtenerComponente("VIS-15"));
            d2.AgregarComponente(Stock.Instancia.ObtenerComponente("RUE-17"));
            d2.AgregarComponente(Stock.Instancia.ObtenerComponente("RUE-17"));
            d2.AgregarComponente(Stock.Instancia.ObtenerComponente("TOR-6"));
            d2.AgregarComponente(Stock.Instancia.ObtenerComponente("VIS-15"));
            Sistema.Instancia.AgregarDiseno(d2);

            Diseno d3 = new Diseno("R&N-002", MedioComponente.Terrestre, decimal.Parse("6,00"));
            d3.AgregarComponente(Stock.Instancia.ObtenerComponente("TOR-6"));
            d3.AgregarComponente(Stock.Instancia.ObtenerComponente("VIS-15"));
            d3.AgregarComponente(Stock.Instancia.ObtenerComponente("RUE-17"));
            Sistema.Instancia.AgregarDiseno(d3);

            Diseno d4 = new Diseno("R&N-006", MedioComponente.Acuatico, decimal.Parse("3,00"));
            d4.AgregarComponente(Stock.Instancia.ObtenerComponente("FLO-11"));
            d4.AgregarComponente(Stock.Instancia.ObtenerComponente("FLO-12"));
            d4.AgregarComponente(Stock.Instancia.ObtenerComponente("FLO-11"));
            d4.AgregarComponente(Stock.Instancia.ObtenerComponente("FLO-12"));
            d4.AgregarComponente(Stock.Instancia.ObtenerComponente("HON-01"));
            d4.AgregarComponente(Stock.Instancia.ObtenerComponente("FLO-12"));
            d4.AgregarComponente(Stock.Instancia.ObtenerComponente("HON-01"));
            d4.AgregarComponente(Stock.Instancia.ObtenerComponente("HON-01"));
            Sistema.Instancia.AgregarDiseno(d4);

            Diseno d5 = new Diseno("R&N-007", MedioComponente.Acuatico, decimal.Parse("31,00"));
            d5.AgregarComponente(Stock.Instancia.ObtenerComponente("ANC-77"));
            d5.AgregarComponente(Stock.Instancia.ObtenerComponente("FLO-12"));
            d5.AgregarComponente(Stock.Instancia.ObtenerComponente("HON-02"));
            d5.AgregarComponente(Stock.Instancia.ObtenerComponente("HON-02"));
            d5.AgregarComponente(Stock.Instancia.ObtenerComponente("HON-02"));
            d5.AgregarComponente(Stock.Instancia.ObtenerComponente("HON-02"));
            d5.AgregarComponente(Stock.Instancia.ObtenerComponente("FLO-12"));
            d5.AgregarComponente(Stock.Instancia.ObtenerComponente("HON-02"));
            d5.AgregarComponente(Stock.Instancia.ObtenerComponente("FLO-12"));
            d5.AgregarComponente(Stock.Instancia.ObtenerComponente("HON-02"));
            d5.AgregarComponente(Stock.Instancia.ObtenerComponente("FLO-12"));
            d5.AgregarComponente(Stock.Instancia.ObtenerComponente("HON-02"));
            Sistema.Instancia.AgregarDiseno(d5);

        }

    }
}
